package com.haohan.jingyuan.customer.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.haohan.jingyuan.customer.entity.CustomerFileAuth;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 客户文件授权Mapper接口
 * 
 * @ClassName CustomerFileAuthMapper
 * @Description 客户文件授权数据访问层
 * @Author hexijun
 * @Time 2025/11/05 14:00
 * @Version 1.0
 */
@Mapper
public interface CustomerFileAuthMapper extends BaseMapper<CustomerFileAuth> {

    /**
     * 根据客户ID、用户名、ukid查询授权信息
     * 
     * @param customerId 客户ID
     * @param userName 用户名
     * @param ukid 唯一标识ID
     * @return 授权信息
     */
    CustomerFileAuth findByCustomerIdAndUserNameAndUkid(@Param("customerId") String customerId,
                                                        @Param("userName") String userName,
                                                        @Param("ukid") Long ukid);

    /**
     * 根据客户ID和用户名查询授权信息（查询未删除的记录，ukid=0）
     * 
     * @param customerId 客户ID
     * @param userName 用户名
     * @return 授权信息
     */
    CustomerFileAuth selectByCustomerIdAndUserName(@Param("customerId") String customerId,
                                                    @Param("userName") String userName);

    /**
     * 根据用户名和密码查询授权信息列表（查询未删除的记录，ukid=0）
     * 
     * @param userName 用户名
     * @param password 密码
     * @return 授权信息列表
     */
    List<CustomerFileAuth> selectByUserNameAndPassword(@Param("userName") String userName,
                                                       @Param("password") String password);

    /**
     * 根据客户ID查询授权信息列表（查询未删除的记录，ukid=0）
     * 
     * @param customerId 客户ID
     * @return 授权信息列表
     */
    List<CustomerFileAuth> selectByCustomerId(@Param("customerId") String customerId);
}

